package main

import (
	"fmt"
	"log"

	"grpc-jwt-yonghurenzheng/v1.1_session_cookies/config"
	"grpc-jwt-yonghurenzheng/v1.1_session_cookies/handlers"
	// "grpc-jwt-yonghurenzheng/v1.0_session_cookies/middlewares" // 导入中间件

	"github.com/gin-gonic/gin"
)

func main() {
	// 初始化数据库
	config.InitDB()

	// 创建 Gin 引擎
	router := gin.Default()

	// --- 路由定义 ---
	// 公开路由组
	public := router.Group("/v1")
	{
		public.POST("/register", handlers.Register)
		public.POST("/login", handlers.Login)
		public.POST("/logout", handlers.Logout)
	}

	// 需要认证的路由组
	private := router.Group("/v1")
	private.Use(handlers.AuthRequired()) // 应用认证中间件
	{
		private.GET("/profile", handlers.Profile)
		private.DELETE("/delete_user", handlers.DeleteUser) // 使用 DELETE /user 更符合 RESTful 风格
	}
	
	port := "8080"
	fmt.Printf("🚀 Gin 服务启动于 http://localhost:%s\n", port)
	if err := router.Run(":" + port); err != nil {
		log.Fatal(err)
	}
}